


#ifndef __USER_COMMON__H
#define __USER_COMMON__H

#include "user_type.h"


//获取 ms tick
extern uint32_t common_get_ms_tick(void);

//延时us
extern void common_delay_us(uint8_t us);

//延时ms
extern void common_delay_ms(uint32_t ms);

//打印
extern void common_printf(char *format, ...);

//1ms中断调度
extern void common_1ms_int(void);






/*
base需要排序的数组的数组名
num数组元素个数（用来控制循环次数）
width元素的宽度(单位字节) —— 作用因为元素种类的不同所以在交换元素时依靠一个字节一个字节的交换
最后的那一段是一个函数指针（因为不同的类型有不同的比较方法所以，需要提供比较方法的函数）

cmp函数
函数返回整形，第一个数大于第二的数返回大于零的整形数字，相等返回0，小于返回小于零的整形数字。
*/
extern void bubble_sort(void *base, int num, int width,int (*cmp)(const void *e1, const void *e2));

extern int cmp_u8(const void *p1, const void *p2);
extern int cmp_u16(const void *p1, const void *p2);
extern int cmp_u32(const void *p1, const void *p2);





#endif










